package mc857.grafo;

import malhaFerroviaria.Ferrovia;
import mc857.ControleGeral;

public class Teste_grafo {
	
	public static void main(String[] args) {
		Ferrovia f = Ferrovia.getInstance();
		//Object buffer;
		//String buffer_str;
	
		f.defineCenario(1);
		
		// Obtem o grafo
		Grafo grafo = ControleGeral.getInstance().getGrafo();
		
//		System.out.println("Nos iniciais ");
//		for (ElementoGrafo el:grafo.nos_iniciais) System.out.print(el.id + " ");
//		System.out.println("\nNos finais ");
//		for (ElementoGrafo el:grafo.nos_finais) System.out.print(el.id + " ");
//		System.out.println("\n");
		
		
		// TESTE PARA COLOCAR UM ELEMENTOGRAFO COM VALOR INVALIDO
		//ElementoGrafo eg = new ElementoGrafo("");
		//grafo.elementos.add("tr01");
		
		// TESTE PARA MUDAR A CHAVE
		ElementoGrafo eg = grafo.getElemento("x1");
		if (eg.getTipo().equals("CHAVE")){
			System.out.println(eg.getClass().getName());
			Chave ch = (Chave) eg;
			ch.finalizaMudanca();				// Precisa finalizar uma mudanca para conseguir mudar a chave
			ch.mudarChave("t1", "t2");
			
		}
		

		
		//asa
		
//		// Pega todas as ids e imprime
//		String[] ids = f.consultaElementos();
//		System.out.print("Id's dos elementos: [ ");
//		for(String id:ids) System.out.print(id+" ");
//		System.out.println("]");
//		for(String id:ids){
//			buffer = f.consultaAtributo(id, TipoAtributo.TIPO);
//			buffer_str = buffer.toString();
//			
//			// Cria soh os elementos grafo (exclui a composicao)
//			//if (buffer_str != "COMPOSICAO"){
//			if (buffer_str == "CHAVE"){
//				//ElementoGrafo eg = new ElementoGrafo(id);
//				
//				// Teste da chave
//				Chave ch = new Chave(id);
//				List<ElementoGrafo> teste = ch.getExtremidadeOposta("tr02");
//				for (ElementoGrafo eg:teste) System.out.println("Saida = " + eg.getId());
//			}
//		}
	}
}